﻿using System;
using Business_Layer.Business_Layer.Sprints;
using Business_Layer.Data_Access_Layer;

namespace SAP.User_Interface.Sprints
{
    public partial class Sprints : System.Web.UI.Page
    {
        private readonly ControladorSprints _controlador = new ControladorSprints();
        private string _action = string.Empty;

        protected void Page_Load(object sender, EventArgs e)
        {
            _action = Request.Form["action"];

            if (!string.IsNullOrWhiteSpace(_action))
                GetType().GetMethod(_action).Invoke(this, null);
        }

        public void CrearContenidoSprints()
        {
            var proyecto = Request.Form["proyecto"];

            Response.Write(_controlador.CrearContenidoSprints(proyecto));
            Response.End();
        }

        public void ModificarSprint()
        {
            var id = Convert.ToInt32(Request.Form["id"]);

            var proyecto = Request.Form["proyecto"];
            var fechaInicio = Convert.ToDateTime(Request.Form["fechaInicio"]);
            var numero = Convert.ToInt32(Request.Form["numero"]);
            var descripcion = Request.Form["descripcion"];

            var sprint = new SPRINTS
            {
                SPRINT_ID = id,
                SPRINT_descripcion = descripcion,
                SPRINT_fechaInicio = fechaInicio,
                SPRINT_numero = numero
            };

            Response.Write(_controlador.ModificarSprint(sprint, proyecto));
            Response.End();
        }

        public void RegistrarSprint()
        {
            var proyecto = Request.Form["proyecto"];
            var fechaInicio = Convert.ToDateTime(Request.Form["fechaInicio"]);
            var numero = Convert.ToInt32(Request.Form["numero"]);
            var descripcion = Request.Form["descripcion"];

            var sprint = new SPRINTS
                {
                    SPRINT_numero = numero,
                    SPRINT_descripcion = descripcion,
                    SPRINT_fechaInicio = fechaInicio
                };

            Response.Write(_controlador.RegistrarSprint(sprint, proyecto));
            Response.End();
        }

        public void EliminarSprint()
        {
            var id = Convert.ToInt32(Request.Form["id"]);

            Response.Write(_controlador.EliminarSprint(id));
            Response.End();
        }

        public void CrearDialogoAgregarSprint()
        {
            Response.Write(_controlador.CrearDialogoAgregarSprint());
            Response.End();
        }

        public void CargarSelectProyectos()
        {
            var id = Request.Form["id"];

            Response.Write(_controlador.CargarProyectos(id));
            Response.End();
        }

        public void CrearDialogoAsignarRequerimientos()
        {
            var id = Convert.ToInt32(Request.Form["id"]);
            var proyecto = Request.Form["proyecto"];

            Response.Write(_controlador.CrearDialogoAsignarRequerimientos(id, proyecto));
            Response.End();
        }

        public void AsignarRequerimientos()
        {
            var id = Convert.ToInt32(Request.Form["id"]);
            var valores = Request.Form["valores"];

            Response.Write(_controlador.AsignarRequerimientos(id, valores));
            Response.End();
        }

        public void DenegarRequerimientos()
        {
            var id = Convert.ToInt32(Request.Form["id"]);
            var valores = Request.Form["valores"];

            Response.Write(_controlador.DenegarRequerimientos(id, valores));
            Response.End();
        }
    }
}